# pragma once
# include <stdint.h>
class AVPacket;

class _declspec(dllimport) EncoderFilter {
public:
	EncoderFilter();

	void addFilter(EncoderFilter* _next);
	void afterVideoSwr(const uint8_t* _data, size_t _size, void* _video_encoder);
	void afterAudioSwr(const uint8_t* _data, size_t _size, void* _audio_encoder);
	virtual void afterVideoEncode(AVPacket* _packet);
	virtual void afterAudioEncode(AVPacket* _packet);

	~EncoderFilter();

private:
	EncoderFilter* m_next = nullptr;

};
